[PR]

水無瀬の部屋 > Programming > sample > tools > code > main.cpp
最終更新日: 2007/10/23

   1: //*********************************************************
   2: // プロジェクト: TOOLS
   3: //   ファイル名: main.cpp
   4: //*********************************************************
   5: 
   6: 
   7: //---------------------------------------------------------
   8: // マクロ の 定義
   9: //---------------------------------------------------------
  10: #ifndef PROGRAM_TITLE
  11: #define PROGRAM_TITLE  ""
  12: #endif
  13: 
  14: 
  15: //*********************************************************
  16: // WinMain
  17: // 開始関数 (非コンソール版)
  18: //*********************************************************
  19: int
  20: WINAPI
  21: WinMain
  22: 	(
  23: 		HINSTANCE hInstance,
  24: 		HINSTANCE ,
  25: 		LPSTR ,
  26: 		int
  27: 	)
  28: {
  29: 	// 実行時間を計る
  30: #ifdef _DEBUG // デバッグ版
  31: 	const DWORD dwStart = GetTickCount();
  32: #endif // #ifdef _DEBUG
  33: 
  34: 	// コマンドラインを解析する
  35: 	int argc;
  36: 	char **argv = argcargv( &argc, GetCommandLine(), FLG_ARGCARGV_MSDEFAULT );
  37: 	if ( !argv )
  38: 	{
  39: 		ERROR_REPORT( "%s(%d) : %s \r\n", __FILE__, __LINE__,
  40: 			"argcargv() が失敗しました。" );
  41: 		return EXIT_FAILURE;
  42: 	}
  43: 	ASSERT( IsValidArgcArgv( argc, argv ) );
  44: 	ASSERT( IsPathMyself( argv[ 0 ] ) ); // 自分自身
  45: 
  46: 	// [BACKGROUND] 起動オプション
  47: 	{for( int i = 0; i < argc; ++i )
  48: 	{
  49: 		BACKGROUND_MESSAGE( "argv[%2d]=%s\r\n", i, argv[ i ] );
  50: 	}}
  51: 
  52: 	// アプリケーションを実行する
  53: 	InitCommonControls();
  54: 	VERIFY( S_OK == CoInitialize( null ) );
  55: 	const int result = ApplicationMainProc( hInstance, argc, argv );
  56: 	CoUninitialize();
  57: 
  58: 	// 
  59: 	ASSERT( IsValidArgcArgv( argc, argv ) );
  60: 	ASSERT( IsPathMyself( argv[ 0 ] ) ); // 自分自身
  61: 	free_argcargv( argc, argv );
  62: 
  63: 	//
  64: 	// デバッグ版時に統計情報を表示
  65: 	//
  66: #ifdef _DEBUG // デバッグ版
  67: 	{
  68: 		//
  69: 		const DWORD dwTime = GetTickCount() - dwStart;
  70: 
  71: 		//
  72: 		char buf[ 1024 ];
  73: 		snprintf
  74: 			(
  75: 				buf,
  76: 				numof( buf ),
  77: 				"%s\r\n\r\n稼働時間 %02d:%02d:%02d\r\n",
  78: 				"テストが終了しました",
  79: 				((dwTime / 1000) / 60) / 60,
  80: 				((dwTime / 1000) / 60) % 60,
  81: 				 (dwTime / 1000) % 60
  82: 			);
  83: 		DBG_MSGBOX
  84: 			(
  85: 				HWND_DESKTOP,
  86: 				PROGRAM_TITLE,
  87: 				buf
  88: 			);
  89: 	}
  90: #endif // #ifdef _DEBUG
  91: 
  92: 	return result;
  93: }//WinMain
  94: 
  95: 
  96: #ifdef _CONSOLE
  97: //*********************************************************
  98: // main
  99: // 開始関数 (コンソール版)
 100: //*********************************************************
 101: int
 102: main
 103: 	(
 104: 		void
 105: 	)
 106: {
 107: 	//
 108: 	STARTUPINFO si;
 109: 	si.cb = sizeof( si );
 110: 	GetStartupInfo( &si );
 111: 
 112: 	//
 113: 	return WinMain
 114: 		(
 115: 			GetModuleHandle( null ),
 116: 			null,
 117: 			GetCommandLine(),
 118: 			si.wShowWindow
 119: 		);
 120: }//main
 121: #endif
 122: 
 123: 
 124: //** end **

参照: main.cpp, main.cpp, main.cpp, main.cpp, main.cpp, main.cpp, main.cpp


Google
ご意見・ご感想をお聞かせ下さい。匿名で送信できます。

 * 返信が必要な場合には postmaster@katsura-kotonoha.sakura.ne.jp へ直接メールしてください。

水無瀬の部屋 > sample > tools > code > main.cpp

このページは cpp2web が出力しました。
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
http://katsura-kotonoha.sakura.ne.jp/prog/code/tools/code/main_cpp.shtml
『新妻LOVELY×CATION』を応援しています!